/**
 * @author ShenTuZhiGang
 * @version 1.0.0
 * @email 1600337300@qq.com
 * @date 2021-08-22 19:52
 */
public class ExamTencent2021082201 {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * @param m int整型
     * @param a ListNode类 指向彩带的起点，val表示当前节点的val，next指向下一个节点
     * @return ListNode类一维数组
     */
    public ListNode[] solve(int m, ListNode a) {
        // write code here
        if (a == null) {
            return new ListNode[m];
        }
        ListNode[] arr = solve(m, a.next);
        a.next = arr[a.val % m];
        arr[a.val % m] = a;
        return arr;
    }
}

class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}